console.log(5 >> 1)
console.log(5 << 1 === 5 * 2)
const num = 5
console.log(-num)
console.log(~num + 1)
// ^ ==> 无进位相加
10 ^ 7
1010
0111
1101
13

var singleNumber = function(nums) {
    let ans = 0 // 2
    for(let i = 0 ; i < nums.length ; i ++){
        ans = ans ^ nums[i]
    }
    return ans
};
console.log(singleNumber([2,2,1,3,3]),'@@@') 
// N ^ N = 0
// 0 ^ N = N
// 变量交换
var a = 1,b = 2
a = a ^ b 
b = a ^ b
a = a ^ b
// 设a等于甲，b等于已
// b = 已,a = 甲 ^ 已
// 甲 ^ 已 ^ 已 b = 甲，a = 甲 ^ 已
// 甲 ^ 已 ^ 甲 




console.log(a,b)



